Inter-frame encoding such as H.264 video encoding is similar to other various video encoding methods in terms of predicting a current block through block-oriented motion estimation and encoding the predicted current block. However, inter-frame encoding is differentiated from other various video encoding methods by using various macroblock modes and adopting different block sizes for the various macroblock modes so as to perform motion estimation and motion compensation. Inter-frame encoding generally includes performing motion estimation in each of the various macroblock modes, choosing whichever of the various macroblock modes is determined to be optimal in consideration of rate-distortion performance, and encoding a prediction error in the chosen macroblock mode, i.e., the difference(s) between a current block and a block obtained by performing motion estimation on the current block.
In inter-frame encoding, like in other various video encoding methods, motion estimation and motion compensation are performed only in consideration of horizontal and vertical translational motion components. That is, referring to FIG. 1, motion estimation and motion compensation may be performed on a current block only in consideration of horizontal and vertical motions (mvx and mvy) with respect to a reference frame.
If motion estimation and motion compensation are performed only in consideration of horizontal and/or vertical motions, coding complexity may decrease, but it may not be able to achieve high encoding efficiency especially when an object in a picture to be encoded has an affine transformation such as rotation, enlargement or reduction. On the other hand, if motion estimation and motion compensation are performed in consideration of all possible transformations of an object, encoding efficiency may increase, but coding complexity, and particularly, the complexity of motion estimation, may considerably increase.